#include<bits/stdc++.h>
using namespace std;
template<typename T>void read(T &x){
    x=0;int f=1;char c=getchar();
    for(;!isdigit(c);c=getchar()) if(c=='-') f=-1;
    for(;isdigit(c);c=getchar()) x=(x<<3)+(x<<1)+(c^48);
    x*=f;
}
const int maxn=1e5+10;
int n,ans;
int a[maxn],b[maxn],t[maxn],sum[maxn];
int main(){
    freopen("duel.in","r",stdin);
    freopen("duel.out","w",stdout);
    read(n);
    for(int i=1;i<=n;i++) read(a[i]);
    sort(a+1,a+1+n);
    b[1]=1;
    for(int i=2;i<=n;i++){
        if(a[i]!=a[i-1]) b[i]=b[i-1]+1;
        else b[i]=b[i-1];
    }
    int f=b[n];
    for(int i=1;i<=n;i++) t[b[i]]++;
    for(int i=2;i<=f;i++){
            if(t[i]>=t[i-1]){
                ans+=t[i-1];
            }else{
                ans+=t[i];
                t[i]=t[i-1];
            }
    }
    printf("%d ",n-ans);
    return 0;
}

